the vimwiki wiki plugin is reason enough to use vim . It is a personal light weight wiki mated to one of the most powerful text editors available. No mousing required. Plain text data files. Powerful markdown syntax with integrated html generator. Manage multiple wiki databases.
This entire site is written in vimwiki. What is not to like! Features galore are available from todo lists to html templates and generation (in fact, this site was originally prototyped using only vimwiki to generate static web pages before migrating to a dynamic web application to serve up the content).
The basic vimwiki command set..
action | |
---|---|
[number] <leader> ww | open wiki index file |
[number] <leader> wt | open wiki index file in new tab |
<leader> ws | list and select available wikis |
<leader> wd | delete wiki page |
<leader> wr | rename wiki page |
number is relative wiki order as defined in .vimrc, default 1.
action | |
---|---|
[number] <leader> wi | open diary index file for wiki |
<leader> w <leader> i | update current diary index |
[number] <leader> w <leader> w | open today’s diary file for wiki |
[number] <leader> w <leader> t | open today’s diary file for wiki in new tab |
<C-Up> | open previous day’s diary |
<C-Down> | open next day’s diary |
number is relative wiki order as defined in .vimrc, default 1.
action | |
---|---|
<CR> | follow/create wiki link |
<C-S-CR> | follow/create wiki link in new tab |
<backspace> | go back to previous wiki page |
<Tab> | go to next link on current page |
<S-Tab> | go to previous link on current page |
action | |
---|---|
<C-Space> | toggle list item on/off |
= | add header level |
- | remove header level |
+ | create/decorate links |
glm | increase indent of list item |
gll | decrease indent of list item |
gl* or gl8 | switch or insert “*” symbol |
gl# or gl3 | switch or insert “#” symbol |
gl- | switch or insert “-“ symbol |
gl1 | switch or insert “1.” symbol |
action | |
---|---|
<A-Left> | move column left |
<A-right> | move column right |
<CR> | (insert mode) go down/create cell |
<Tab> | (insert mode) go next/create cell |
gqq or gww | reformat table |
object | |
---|---|
ah | section between 2 headings including empty trailing lines |
ih | section between 2 headings excluding empty trailing lines |
a\ | table cell |
i\ | inner table cell |
ac | table column |
ic | inner table column |
See grokking vim for editing operations on text objects.